home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vdl020d.zip / VCDROM.DOC < prev    next >
Text File  |  1993-04-14  |  20KB  |  884 lines

  1. {
  2.  ════════════════════════════════════════════════════════════════════════════
  3.  
  4.  Visionix CD-ROM Audio Library (VCDROM)
  5.  Copyright 1991,92,93 Visionix
  6.  ALL RIGHTS RESERVED
  7.  
  8.  ────────────────────────────────────────────────────────────────────────────
  9.  
  10.  Revision history in reverse chronological order:
  11.  
  12.  Initials  Date      Comment
  13.  ────────  ────────  ────────────────────────────────────────────────────────
  14.  
  15.  lpg       03/15/93  Added Source Documentation
  16.  
  17.  mep       02/11/93  Cleaned up code for beta release
  18.  
  19.  jrt       02/08/93  Sync with beta 0.12 release
  20.  
  21.  jrt       12/07/92  Sync with beta 0.11 release
  22.  
  23.  jrt       11/21/92  Sync with beta 0.08
  24.  
  25.  jrt       09/15/92  First logged revision.
  26.  
  27.  ════════════════════════════════════════════════════════════════════════════
  28.  
  29.  INCOMPLETE FUNCTIONS
  30.  --------------------
  31.  
  32.    VCD_LoadMSF
  33.    VCD_GetCaps
  34.    VCD_CheckForMethod
  35.    VCD_Close
  36.    VCD_GetDriveCaps
  37.    VCD_GetNumDrives
  38. }
  39.  
  40. Unit VCDROM;
  41.  
  42.  
  43. Uses
  44.  
  45.   VTypes,
  46.   VGen,
  47.   DOS;
  48.  
  49. {────────────────────────────────────────────────────────────────────────────}
  50.  
  51. Const
  52.  
  53.   cCdMethodMSCDEX = 1;
  54.   cCdMethodSCSI2  = 2;
  55.  
  56. Type
  57.  
  58.   TError = WORD;
  59.  
  60.   {-----}
  61.  
  62.   TCDLibCaps = RECORD
  63.  
  64.     A : BYTE;
  65.  
  66.   END;
  67.  
  68.   PCDLibCaps = ^TCDLibCaps;
  69.  
  70.   {-----}
  71.  
  72.   TCDDriveCaps = RECORD
  73.  
  74.     B : BYTE;
  75.  
  76.   END;
  77.  
  78.   PCDDriveCaps = ^TCDDriveCaps;
  79.  
  80.   {-----}
  81.  
  82.   TMSF = RECORD
  83.  
  84.     M : BYTE;
  85.     S : BYTE;
  86.     F : BYTE;
  87.  
  88.   END;
  89.  
  90.   PMSF = ^TMSF;
  91.  
  92.   {-----}
  93.  
  94.   TCDDriveInfo = RECORD
  95.  
  96.     Method        : WORD;
  97.  
  98.     MethodBus     : WORD;
  99.     MethodUnit    : WORD;
  100.  
  101.   END;
  102.  
  103.   {-----}
  104.  
  105.   TCDInstanceData = RECORD
  106.  
  107.     C : BYTE;
  108.  
  109.     DriveInfo : Array[1..8] of TCDDriveInfo;
  110.  
  111.   END;
  112.  
  113.   PCDInstanceData = ^TCDInstanceData;
  114.  
  115.   {-----}
  116.  
  117.   TCDHandle = PCDInstanceData;
  118.  
  119.   {-----}
  120.  
  121.   TCDRequestHeader = RECORD
  122.  
  123.     HeaderSize     : BYTE;
  124.     Subunit        : BYTE;
  125.     CommandCode    : BYTE;
  126.     Status         : WORD;
  127.     Reserved       : Array[1..8] of BYTE;
  128.  
  129.   END;
  130.  
  131. {────────────────────────────────────────────────────────────────────────────}
  132.  
  133. {----------------}
  134. { Math Functions }
  135. {----------------}
  136.  
  137. Procedure VCD_AddMSF(             Value1         : TMSF;
  138.                                   Value2         : TMSF;
  139.                               Var Result         : TMSF      );
  140.  
  141. Procedure VCD_SubMSF(             Value1         : TMSF;
  142.                                   Value2         : TMSF;
  143.                               Var Result         : TMSF      );
  144.  
  145. Function  VCD_MSFtoBlock(         MSF            : TMSF      ) : LONGINT;
  146.  
  147. Procedure VCD_BlockToMSF(         Block          : LONGINT;
  148.                               Var MSF            : TMSF      );
  149.  
  150. Function  VCD_MSFtoTotalFrames(   MSF            : TMSF      ) : LONGINT;
  151.  
  152. Procedure VCD_TotalFramesToMSF(   TotalFrames    : LONGINT;
  153.                               Var MSF            : TMSF      );
  154.  
  155. Procedure VCD_LoadMSF(        Var MSF            : TMSF;
  156.                                   M              : BYTE;
  157.                                   S              : BYTE;
  158.                                   F              : BYTE      );
  159.  
  160.  
  161. {--------------------------}
  162. { Library/System functions }
  163. {--------------------------}
  164.  
  165. Procedure VCD_GetCaps(            Caps           : PCDLibCaps );
  166.  
  167. Function  VCD_Open(               Flags          : WORD;
  168.                                   MethodListStr  : ST80      ) : TCDHandle;
  169.  
  170. Procedure VCD_Close(              Handle         : TCDHandle );
  171.  
  172. Procedure VCD_GetDriveCaps(       Handle         : TCDHandle;
  173.                                   Drive          : WORD;
  174.                                   CDDriveCaps    : PCDDriveCaps );
  175.  
  176. Function  VCD_GetNumDrives(       Handle         : TCDHandle ) : WORD;
  177.  
  178.  
  179. {--------------------}
  180. { CD Audio Functions }
  181. {--------------------}
  182.  
  183. Function  VCD_GetAudioDiskInfo(   Handle         : TCDHandle;
  184.                                   Drive          : WORD;
  185.                               Var FirstTrack     : WORD;
  186.                               Var LastTrack      : WORD;
  187.                               Var StartLeadOut   : TMSF      ) : TError;
  188.  
  189. Function  VCD_GetAudioTrackInfo(  Handle         : TCDHandle;
  190.                                   Drive          : WORD;
  191.                                   Track          : WORD;
  192.                               Var Start          : TMSF;
  193.                               Var TrackConInfo   : WORD      ) : TError;
  194.  
  195. Function  VCD_GetAudioQChanInfo(  Handle         : TCDHandle;
  196.                                   Drive          : WORD;
  197.                               Var ConAdr         : WORD;
  198.                               Var TrackNum       : WORD;
  199.                               Var IndexNum       : WORD;
  200.                               Var TrkRelTime     : TMSF;
  201.                               Var DskRelTime     : TMSF      ) : TError;
  202.  
  203. Function  VCD_GetAudioStatusInfo( Handle         : TCDHandle;
  204.                                   Drive          : WORD;
  205.                               Var AudioStatus    : WORD;
  206.                               Var PlayStart      : TMSF;
  207.                               Var PlayEnd        : TMSF      ) : TError;
  208.  
  209. Function  VCD_PlayMSFfor(         Handle         : TCDHandle;
  210.                                   Drive          : WORD;
  211.                                   Start          : TMSF;
  212.                                   PlayFor        : TMSF      ) : TError;
  213.  
  214. Function  VCD_PlayMSFto(          Handle         : TCDHandle;
  215.                                   Drive          : WORD;
  216.                                   Start          : TMSF;
  217.                                   PlayTo         : TMSF      ) : TError;
  218.  
  219. Function  VCD_Pause(              Handle         : TCDHandle;
  220.                                   Drive          : WORD      ) : TError;
  221.  
  222. Function  VCD_Stop(               Handle         : TCDHandle;
  223.                                   Drive          : WORD      ) : TError;
  224.  
  225. Function  VCD_Resume(             Handle         : TCDHandle;
  226.                                   Drive          : WORD      ) : TError;
  227.  
  228.  
  229.  
  230. {────────────────────────────────────────────────────────────────────────────}
  231.  
  232.  
  233. ──────────────────────────────────────────────────────────────────────────────
  234.  
  235.  
  236. [FUNCTION]
  237.  
  238. Procedure VCD_AddMSF(             Value1         : TMSF;
  239.                                   Value2         : TMSF;
  240.                               Var Result         : TMSF      );
  241.  
  242. [PARAMETERS]
  243.  
  244. Value1      1st Min/Sec/Frame Value
  245. Value2      2nd Min/Sec/Frame Value
  246. Result      VAR Returned Min/Sec/Frame Sum
  247.  
  248. [RETURNS]
  249.  
  250. (Function : None)
  251. (VAR      : [Result] Min/Sec/Frame Sum)
  252.  
  253. [DESCRIPTION]
  254.  
  255. Adds the 1st Min/Sec/Frame Value to the 2nd Min/Sec/Frame Value to
  256. produce the a new Min/Sec/Frame Value.
  257.  
  258. Adds two Min/sec/frame values and puts the result in "Result".
  259.  
  260.  
  261. [SEE-ALSO]
  262.  
  263. VCD_SubMSF
  264.  
  265. [EXAMPLE]
  266.  
  267.  
  268. ──────────────────────────────────────────────────────────────────────────────
  269.  
  270.  
  271. [FUNCTION]
  272.  
  273. Procedure VCD_SubMSF(             Value1         : TMSF;
  274.                                   Value2         : TMSF;
  275.                               Var Result         : TMSF      );
  276.  
  277. [PARAMETERS]
  278.  
  279. Value1      1st Min/Sec/Frame Value
  280. Value2      2nd Min/Sec/Frame Value
  281. Result      VAR Returned Min/Sec/Frame Difference
  282.  
  283. [RETURNS]
  284.  
  285. (Function : None)
  286. (VAR      : [Result] Min/Sec/Frame Difference)
  287.  
  288. [DESCRIPTION]
  289.  
  290. Subtracts the 2nd Min/Sec/Frame Value from the 1st Min/Sec/Frame Value
  291. to produce the Difference (a new Min/Sec/Frame Value).
  292.  
  293. Subs MSF "Value2" from MSF "value1" and puts result in "Result".
  294.  
  295. [SEE-ALSO]
  296.  
  297. VCD_AddMSF
  298.  
  299. [EXAMPLE]
  300.  
  301.  
  302. ──────────────────────────────────────────────────────────────────────────────
  303.  
  304.  
  305. [FUNCTION]
  306.  
  307. Function  VCD_MSFtoBlock(         MSF            : TMSF      ) : LONGINT;
  308.  
  309. [PARAMETERS]
  310.  
  311. MSF         Source Min/Sec/Frames Value
  312.  
  313. [RETURNS]
  314.  
  315. Total Blocks represented by Min/Sec/Frame Value.
  316.  
  317. [DESCRIPTION]
  318.  
  319. Converts a min/sec/frame address to a logical block address.
  320.  
  321. [SEE-ALSO]
  322.  
  323.  
  324. [EXAMPLE]
  325.  
  326.  
  327. ──────────────────────────────────────────────────────────────────────────────
  328.  
  329.  
  330. [FUNCTION]
  331.  
  332. Procedure VCD_BlockToMSF(         Block          : LONGINT;
  333.                               Var MSF            : TMSF      );
  334.  
  335. [PARAMETERS]
  336.  
  337. Block       Source Number of Blocks
  338. MSF         VAR Returned Min/Sec/Frame Value
  339.  
  340. [RETURNS]
  341.  
  342. (Function : None)
  343. (VAR      : [MSF] Min/Sec/Frame Value)
  344.  
  345. [DESCRIPTION]
  346.  
  347. Converts a Logical Block Address to a Min/Sec/Frame Address.
  348.  
  349. [SEE-ALSO]
  350.  
  351. VCD_MSFtoBlock
  352.  
  353. [EXAMPLE]
  354.  
  355.  
  356. ──────────────────────────────────────────────────────────────────────────────
  357.  
  358.  
  359. [FUNCTION]
  360.  
  361. Function  VCD_MSFtoTotalFrames(   MSF            : TMSF      ) : LONGINT;
  362.  
  363. [PARAMETERS]
  364.  
  365. MSF         Min/Sec/Frame Value
  366.  
  367. [RETURNS]
  368.  
  369. Total Frames from Min/Sec/Frames Value
  370.  
  371. [DESCRIPTION]
  372.  
  373. Converts a Min/Sec/Frames Value into the Total Number of Frames it
  374. represents.
  375.  
  376. Converts a min/sec/frame value to a count of the total frames.
  377.  
  378. [SEE-ALSO]
  379.  
  380. VCD_TotalFramesToMSF
  381.  
  382. [EXAMPLE]
  383.  
  384.  
  385. ──────────────────────────────────────────────────────────────────────────────
  386.  
  387.  
  388. [FUNCTION]
  389.  
  390. Procedure VCD_TotalFramesToMSF(   TotalFrames    : LONGINT;
  391.                               Var MSF            : TMSF      );
  392.  
  393. [PARAMETERS]
  394.  
  395. TotalFrames
  396. MSF         VAR Returned Frames converted to Min/Sec/Frames
  397.  
  398. [RETURNS]
  399.  
  400. (Function : None)
  401. (VAR      : [MSF] Frame converted to Min/Sec/Frames)
  402.  
  403. [DESCRIPTION]
  404.  
  405. Converts a Frames Value into Min/Sec/Frames.
  406.  
  407. Converts a total frames value to a min/sec/frame value.
  408.  
  409. [SEE-ALSO]
  410.  
  411. VCD_MSFtoTotalFrames
  412.  
  413. [EXAMPLE]
  414.  
  415.  
  416. ──────────────────────────────────────────────────────────────────────────────
  417.  
  418.  
  419. [FUNCTION]
  420.  
  421. Procedure VCD_LoadMSF(        Var MSF            : TMSF;
  422.                                   M              : BYTE;
  423.                                   S              : BYTE;
  424.                                   F              : BYTE      );
  425.  
  426. [PARAMETERS]
  427.  
  428. MSF         VAR Returned Min/Sec/Frame Value
  429. M           Source Minutes
  430. S           Source Seconds
  431. F           Source Frames
  432.  
  433. [RETURNS]
  434.  
  435. (Function : None)
  436. (VAR      : [MSF] Min/Sec/Frame Value)
  437.  
  438. [DESCRIPTION]
  439.  
  440. Converts time Values into Min/Sec/Frames
  441.  
  442. Loads a min/sec/frame record with values.
  443.  
  444. [SEE-ALSO]
  445.  
  446. [EXAMPLE]
  447.  
  448.  
  449. ──────────────────────────────────────────────────────────────────────────────
  450.  
  451.  
  452. [FUNCTION]
  453.  
  454. Procedure VCD_GetCaps(            Caps           : PCDLibCaps );
  455.  
  456. [PARAMETERS]
  457.  
  458. Caps        Pointer to ?
  459.  
  460. [RETURNS]
  461.  
  462. (Function : None)
  463. (Ptr      : [Caps] Pointer to ?)
  464.  
  465. [DESCRIPTION]
  466.  
  467. Gets the capabilities of the CD-rom lib in the current environment.
  468.  
  469. [SEE-ALSO]
  470.  
  471. [EXAMPLE]
  472.  
  473.  
  474. ──────────────────────────────────────────────────────────────────────────────
  475.  
  476.  
  477. [FUNCTION]
  478.  
  479. Function  VCD_CheckForMethod(     Method         : BYTE      ) : BOOLEAN;
  480.  
  481. [PARAMETERS]
  482.  
  483. Method      ?
  484.  
  485. [RETURNS]
  486.  
  487. [DESCRIPTION]
  488.  
  489. [SEE-ALSO]
  490.  
  491. [EXAMPLE]
  492.  
  493.  
  494. ──────────────────────────────────────────────────────────────────────────────
  495.  
  496.  
  497. [FUNCTION]
  498.  
  499. Function  VCD_Open(               Flags          : WORD;
  500.                                   MethodListStr  : ST80      ) : TCDHandle;
  501.  
  502. [PARAMETERS]
  503.  
  504. Flags         ?
  505. MethodListStr ?
  506.  
  507. [RETURNS]
  508.  
  509. [DESCRIPTION]
  510.  
  511. Opens an instance of the cd-rom library.  "MethodListStr" should
  512. currently be 'MSCDEX'.  "Flags" should be 0.  Returns a Non-0 (NIL)
  513. handle if successfull, 0/NIL if failure.
  514.  
  515. [SEE-ALSO]
  516.  
  517. [EXAMPLE]
  518.  
  519.  
  520. ──────────────────────────────────────────────────────────────────────────────
  521.  
  522.  
  523. [FUNCTION]
  524.  
  525. Procedure VCD_Close(              Handle         : TCDHandle );
  526.  
  527. [PARAMETERS]
  528.  
  529. Handle      ?
  530.  
  531. [RETURNS]
  532.  
  533. (None)
  534.  
  535. [DESCRIPTION]
  536.  
  537. Closes an instance of the cd-rom library.  The "Handle" should be a
  538. handle previously obtained from a call to VCD_Open.
  539.  
  540. [SEE-ALSO]
  541.  
  542. [EXAMPLE]
  543.  
  544.  
  545. ──────────────────────────────────────────────────────────────────────────────
  546.  
  547.  
  548. [FUNCTION]
  549.  
  550. Procedure VCD_GetDriveCaps(       Handle         : TCDHandle;
  551.                                   Drive          : WORD;
  552.                                   CDDriveCaps    : PCDDriveCaps );
  553.  
  554. [PARAMETERS]
  555.  
  556. Handle      ?
  557. Drive       CD-ROM Drive Number
  558. CDDriveCaps Pointer to CD-ROM Drive Capacity Data
  559.  
  560. [RETURNS]
  561.  
  562. (Function : None)
  563. (Ptr      : [CDDriveCaps] Pointer to CD-ROM Drive Capacity Data)
  564.  
  565. [DESCRIPTION]
  566.  
  567. Gets the capabilities of a specific cd-rom drive.
  568.  
  569. [SEE-ALSO]
  570.  
  571. [EXAMPLE]
  572.  
  573.  
  574. ──────────────────────────────────────────────────────────────────────────────
  575.  
  576.  
  577. [FUNCTION]
  578.  
  579. Function  VCD_GetNumDrives(       Handle         : TCDHandle ) : WORD;
  580.  
  581. [PARAMETERS]
  582.  
  583. Handle      ?
  584.  
  585. [RETURNS]
  586.  
  587. [DESCRIPTION]
  588.  
  589. Returns the number of CD-rom drives installed in the system "Handle"
  590. should be a handle previously obtained from VCD_Open.
  591.  
  592. [SEE-ALSO]
  593.  
  594. [EXAMPLE]
  595.  
  596.  
  597. ──────────────────────────────────────────────────────────────────────────────
  598.  
  599.  
  600. [FUNCTION]
  601.  
  602. Function  VCD_GetAudioDiskInfo(   Handle         : TCDHandle;
  603.                                   Drive          : WORD;
  604.                               Var FirstTrack     : WORD;
  605.                               Var LastTrack      : WORD;
  606.                               Var StartLeadOut   : TMSF      ) : TError;
  607.  
  608. [PARAMETERS]
  609.  
  610. Handle      ?
  611. Drive       CD-ROM Drive Number
  612. FirstTrack   VAR Returned First Track Number
  613. LastTrack    VAR Returned Last Track Number
  614. StartLeadOut VAR Returned Starting Lead Out Time
  615.  
  616. [RETURNS]
  617.  
  618. (Function : Status Code)
  619. (VAR      : [FirstTrack] First Track Number)
  620. (VAR      : [LastTrack] Last Track Number)
  621. (VAR      : [StartLeadOut] Starting Lead Out Time)
  622.  
  623. [DESCRIPTION]
  624.  
  625. Gets a audio cd's disk information.  Includes information on the first
  626. and last audio track on the disk, and the start of the lead out track
  627. (end of the audio) as a min/sec/frame value.
  628.  
  629. [SEE-ALSO]
  630.  
  631. [EXAMPLE]
  632.  
  633.  
  634. ──────────────────────────────────────────────────────────────────────────────
  635.  
  636.  
  637. [FUNCTION]
  638.  
  639. Function  VCD_GetAudioTrackInfo(  Handle         : TCDHandle;
  640.                                   Drive          : WORD;
  641.                                   Track          : WORD;
  642.                               Var Start          : TMSF;
  643.                               Var TrackConInfo   : WORD      ) : TError;
  644.  
  645. [PARAMETERS]
  646.  
  647. Handle       ?
  648. Drive        CD-ROM Drive Number
  649. Track        ?
  650. Start        VAR Returned Starting Time
  651. TrackConInfo VAR Returned ?
  652.  
  653. [RETURNS]
  654.  
  655. (Function : Status Code)
  656. (VAR      : [Start] Starting Time)
  657. (VAR      : [TrackConInfo] ?)
  658.  
  659. [DESCRIPTION]
  660.  
  661. Gets information about an audio track on a cd.  "track" is the track
  662. number to get the information about.  "Start" returns as the Min/sec/frame
  663. start time of the track.  "TrackConInfo" are the track control info flags.
  664.  
  665. [SEE-ALSO]
  666.  
  667. [EXAMPLE]
  668.  
  669.  
  670. ──────────────────────────────────────────────────────────────────────────────
  671.  
  672.  
  673. [FUNCTION]
  674.  
  675. Function  VCD_GetAudioQChanInfo(  Handle         : TCDHandle;
  676.                                   Drive          : WORD;
  677.                               Var ConAdr         : WORD;
  678.                               Var TrackNum       : WORD;
  679.                               Var IndexNum       : WORD;
  680.                               Var TrkRelTime     : TMSF;
  681.                               Var DskRelTime     : TMSF      ) : TError;
  682.  
  683. [PARAMETERS]
  684.  
  685. Handle      ?
  686. Drive       CD-ROM Drive Number
  687. ConAdr      VAR Returned ?
  688. TrackNum    VAR Returned Current Track Number
  689. IndexNum    VAR Returned Current Index Number
  690. TrkRelTime  VAR Returned Current Track Relative Time
  691. DskRelTime  VAR Returned Current Disk Relative Time
  692.  
  693. [RETURNS]
  694.  
  695. (Function : Status Code)
  696. (VAR      : [ConAdr] ?)
  697. (VAR      : [TrackNum] Current Track Number)
  698. (VAR      : [IndexNum] Current Index Number)
  699. (VAR      : [TrkRelTime] Current Track Relative Time)
  700. (VAR      : [DskRelTime] Current Disk Relative Time)
  701.  
  702. [DESCRIPTION]
  703.  
  704. Gets an audio tracks "Q-Channel" information from the currently playing
  705. track.  The Q-Channel contains information about the currently playing
  706. audio track.  The returned info includes "ConAdr" (not used), "TrackNum",
  707. the track number that is currently being played; "IndexNum" the index
  708. within the track that is being played; "TrkRelTime", the current
  709. min/sec/frame being played, relative to the start of the track; and
  710. "DskRelTime" which is the current min/sec/frame being played relative
  711. to the start of the disk.
  712.  
  713. [SEE-ALSO]
  714.  
  715. [EXAMPLE]
  716.  
  717.  
  718. ──────────────────────────────────────────────────────────────────────────────
  719.  
  720.  
  721. [FUNCTION]
  722.  
  723. Function  VCD_GetAudioStatusInfo( Handle         : TCDHandle;
  724.                                   Drive          : WORD;
  725.                               Var AudioStatus    : WORD;
  726.                               Var PlayStart      : TMSF;
  727.                               Var PlayEnd        : TMSF      ) : TError;
  728.  
  729. [PARAMETERS]
  730.  
  731. Handle      ?
  732. Drive       CD-ROM Drive Number
  733. AudioStatus VAR Returned CD-ROM Audio Status Code
  734. PlayStart   VAR Returned Last Play Start Time
  735. PlayEnd     VAR Returned Last Play End Time
  736.  
  737. [RETURNS]
  738.  
  739. (Function : Status Code)
  740. (VAR      : [AudioStatus] CD-ROM Audio Status Code)
  741. (VAR      : [PlayStart] Last Play Start Time)
  742. (VAR      : [PlayEnd] Last Play End Time)
  743.  
  744. [DESCRIPTION]
  745.  
  746. Gets information about the currently "audio play".  This info includes
  747. "AudioStatus" (TBD), "PlayStart", the min/sec/frame at which the current
  748. audio play operation started, and PlayEnd, the min/sec/frame at which
  749. the audio play operation will end.                              }
  750.  
  751. [SEE-ALSO]
  752.  
  753. [EXAMPLE]
  754.  
  755.  
  756. ──────────────────────────────────────────────────────────────────────────────
  757.  
  758.  
  759. [FUNCTION]
  760.  
  761. Function  VCD_PlayMSFfor(         Handle         : TCDHandle;
  762.                                   Drive          : WORD;
  763.                                   Start          : TMSF;
  764.                                   PlayFor        : TMSF      ) : TError;
  765.  
  766. [PARAMETERS]
  767.  
  768. Handle      ?
  769. Drive       CD-ROM Drive Number
  770. Start       Min/Sec/Frame to Start Playing From
  771. PlayFor     Number of Min/Sec/Frame to Play
  772.  
  773. [RETURNS]
  774.  
  775. [DESCRIPTION]
  776.  
  777. Plays from a specified min/sec/frame for a specified number  of
  778. mins/secs/frames.
  779.  
  780. [SEE-ALSO]
  781.  
  782. [EXAMPLE]
  783.  
  784.  
  785. ──────────────────────────────────────────────────────────────────────────────
  786.  
  787.  
  788. [FUNCTION]
  789.  
  790. Function  VCD_PlayMSFto(          Handle         : TCDHandle;
  791.                                   Drive          : WORD;
  792.                                   Start          : TMSF;
  793.                                   PlayTo         : TMSF      ) : TError;
  794.  
  795. [PARAMETERS]
  796.  
  797. Handle      ?
  798. Drive       CD-ROM Drive Number
  799. Start       Min/Sec/Frame to Start Playing from
  800. PlayTo      Min/Sec/Frame to End Playing at
  801.  
  802. [RETURNS]
  803.  
  804. [DESCRIPTION]
  805.  
  806. Plays from a specified min/sec/frame to a specified min/sec/frame.
  807.  
  808. [SEE-ALSO]
  809.  
  810. [EXAMPLE]
  811.  
  812.  
  813. ──────────────────────────────────────────────────────────────────────────────
  814.  
  815.  
  816. [FUNCTION]
  817.  
  818. Function VCD_Pause(               Handle         : TCDHandle;
  819.                                   Drive          : WORD      ) : TError;
  820.  
  821. [PARAMETERS]
  822.  
  823. Handle      ?
  824. Drive       CD-ROM Drive Number
  825.  
  826. [RETURNS]
  827.  
  828. [DESCRIPTION]
  829.  
  830. Pauses the audio play of a specified drive.
  831.  
  832. [SEE-ALSO]
  833.  
  834. [EXAMPLE]
  835.  
  836.  
  837. ──────────────────────────────────────────────────────────────────────────────
  838.  
  839.  
  840. [FUNCTION]
  841.  
  842. Function  VCD_Stop(               Handle         : TCDHandle;
  843.                                   Drive          : WORD      ) : TError;
  844.  
  845. [PARAMETERS]
  846.  
  847. Handle      ?
  848. Drive       CD-ROM Drive Number
  849.  
  850. [RETURNS]
  851.  
  852. [DESCRIPTION]
  853.  
  854. Stops the audio play of a specified drive.
  855.  
  856. [SEE-ALSO]
  857.  
  858. [EXAMPLE]
  859.  
  860.  
  861. ──────────────────────────────────────────────────────────────────────────────
  862.  
  863.  
  864. [FUNCTION]
  865.  
  866. Function  VCD_Resume(             Handle         : TCDHandle;
  867.                                   Drive          : WORD      ) : TError;
  868.  
  869. [PARAMETERS]
  870.  
  871. Handle      ?
  872. Drive       CD-ROM Drive Number
  873.  
  874. [RETURNS]
  875.  
  876. [DESCRIPTION]
  877.  
  878. Resumes the audio play of a specified drive.
  879.  
  880. [SEE-ALSO]
  881.  
  882. [EXAMPLE]
  883.  
  884.